home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / HardwareProjects / Epic1_0.lha / EpicV1.0 / Epic.doc < prev    next >
Encoding:
Text File  |  1996-03-16  |  7.0 KB  |  209 lines

  1.  
  2.                Epic V1.0  PIC16C84 Microcontroller Programmer
  3.                ----------------------------------------------
  4.  
  5. COPYRIGHT
  6. ---------
  7.  
  8. Copyright © 1996 Stephen Marsden
  9.  
  10. This software is subject to the "Standard Amiga FD-Software Copyright Note"
  11. It is MAILWARE as defined in paragraph 4b.  If you use this software then
  12. please mail the author with bug-reports or suggestions for the next
  13. release of this program. 
  14. For more information please read "AFD-COPYRIGHT" (Version 1 or higher).
  15.  
  16. Please also remember that no commercial usage is permitted without
  17. written permission from the author.
  18.  
  19.  
  20. INTRODUCTION
  21. ------------
  22.  
  23. Firstly, it must be made clear that the software provided in this
  24. distribution only allows the actual programming of microcontrollers.
  25. It does not contain a cross-assembler such as MPASM or a simulator for
  26. debugging.
  27.  
  28. Why release it then?  Well, there are a number of freely distributable
  29. object files that have already been assembled and tested, such as those
  30. that appear in electronic magazines.  Epic will allow you to write
  31. these programs into the EEPROM memory of a PIC16C84.
  32.  
  33. In addition, using a software emulator such as PCTASK or TRANSFORMER,
  34. you can run a PC cross-assembler as a task making PIC development
  35. on the Amiga easy.
  36.  
  37.  
  38. INSTALLATION
  39. ------------
  40.  
  41. Requirements:       AmigaOS version 2.04 +
  42.                     Floppy or Hard Drive
  43.  
  44. Libraries Used:     Asl.library
  45.                     Gadtools.library
  46.  
  47. To install the software on a hard-drive just drag the icons into the
  48. directory you wish to use.
  49.  
  50.  
  51. HARDWARE         (see shematic.iff)
  52. --------
  53.  
  54. The design of the hardware is my own, and I have tried to make it as
  55. simple as possible.  Values of components are not critical so don't
  56. be afraid to substitute them for handier values.  Try not to use
  57. values of less than 1K for the resistors as they protect the CIA port
  58. from overcurrent.
  59.  
  60. The circuit is small enough to fit inside the hood of a 25-way D-plug,
  61. but should you use a cable between the plug and circuit, then ensure
  62. it is screened correctly.  My own programmer is housed in a neat little
  63. box with a connector for a remote PSU and terminal block outputs for
  64. the 13 I/O lines (i.e. RAx & RBx) for in-circuit testing.
  65.  
  66. You may wish to modify the circuit by including some LEDS to give
  67. indication of voltage levels or activity.  Feel free to experiment.
  68.  
  69. Finally, if you don't have a 12V regulated PSU handy, then you could
  70. easily use the Amiga's disk-drive port which supplies +5V and +12V
  71. on pins 12 and 23 (see your manual for details).  Don't use the
  72. parallel port's +5V as it is limited to just 10mA.
  73.  
  74. Most of the components required for this project are readily available
  75. in any country.  Here in the UK, Maplin and Cirkit provide a very good
  76. service from their shops and through mail-order. 
  77.  
  78.  
  79. USAGE
  80. -----
  81.  
  82. To use the software simply follow the sequence below:
  83.  
  84.     1. Load PIC program file from disk using requester.
  85.     2. Write program file to chip.
  86.     3. Verify program file.
  87.     4. Write configuration to chip (blow fuses).
  88.  
  89. If you are also writing to the data memory then the sequence is:
  90.  
  91.     1. Load PIC program file from disk using requester.
  92.     2. Load PIC data file from disk using requester.
  93.     3. Write program file to chip.
  94.     4. Verify program file.
  95.     5. Write data file to chip.
  96.     6. Verify data file.
  97.     7. Write configuration to chip (blow fuses).
  98.  
  99. Writing of the configuration should always be the last thing you do as
  100. selecting the 'protect code' option could prevent you from verifying
  101. the EEPROM contents.  It should also be made clear that 'blowing the
  102. fuses' does not permanently configure the fuses, they can be changed
  103. as often as you wish.
  104.  
  105. Unused program memory locations are filled with NOP's, and unsed
  106. data locations contain $01's.
  107.  
  108. The options available are pretty self-explanatory if you have read the
  109. data sheets from MICROCHIP.  This short doc file will not cover the
  110. details as the data sheets are essential reading anyway.
  111.  
  112. NB. Clicking the 'Write Program Mem' gadget will firstly disable
  113.     code-protection before writing the program memory.  However, all
  114.     data within the program memory and data memory will be erased.
  115.     Therefore always write the program memory before the data memory.
  116.  
  117.  
  118. TURBO MODE
  119. ----------
  120.  
  121. The program defaults to using 'normal' mode.  This uses the Amiga's
  122. timer.device to ensure that timing values are correct no matter how
  123. fast your CPU is.  The writing routines also follow MICROCHIP's 
  124. guidelines correctly.
  125.  
  126. 'Turbo' mode is based on the assumption that the CIA chips in all Amigas
  127. to date are 1MHz devices.  Therefore the timing values are inherently
  128. controlled by the speed of the CIA chips and the timer.device is not
  129. used.  This may cause some problems on certain machines but it works
  130. reliably for me.  A big speed-up is also gained due to the removal of
  131. the read cycle in the programming routine.
  132.  
  133. To fully write & verify in 'normal' mode will take 4.5 minutes.  'Turbo'
  134. mode will do it in 30 seconds.  Guess which one I use.
  135.  
  136.  
  137. DEVELOPMENT
  138. -----------
  139.  
  140. Epic was developed and tested using the following configuration:
  141.  
  142.             A1200 with  2MB CHIP
  143.                         ViperII 28MHz MMU
  144.                         4MB FAST
  145.                         CEDpro (coverdisk)
  146.                         Amiga E V3.2 (registered)
  147.  
  148.  
  149. PROBLEMS
  150. --------
  151.  
  152. If you are using CROSSDOS to transfer files from a PC disk and 
  153. experience file errors.  It is probably due to CROSSDOS translating
  154. the hex file incorrectly.  If this should happen then turn off
  155. CROSSDOS while you load the hex file.
  156.  
  157. If you multitask heavily during the write & verify operations you may
  158. suffer some write errors.  This is due to the timing being upset by
  159. other tasks.  To lessen the problem I have made Epic run at a priority
  160. of +2.  I could disable multitasking using Forbid() and Permit() but I
  161. would like to find a more OS friendly way of doing this.
  162.  
  163.  
  164. BUGS
  165. ----
  166.  
  167. I have not thoroughly tested the software yet so no doubt there will
  168. be a couple of silly bugs.  I wanted to rush this release as I am
  169. expecting to be forced to work abroad for a few months soon.
  170.  
  171. Should you have any bug-reports or ideas then please write to me at
  172. the address below.
  173.  
  174.  
  175. TO DO
  176. -----
  177.  
  178.     o   Abort gadget
  179.     o   Read and save hex files
  180.     o   Support for other processors?
  181.     o   Software checking to make sure PIC is inserted (in TURBO mode)
  182.     o   Prevent other tasks from upsetting the programming routine
  183.     o   Use the printer.device instead of 'hitting the hardware'
  184.  
  185.  
  186. THE FUTURE
  187. ----------
  188.  
  189. I am currently building a 16C5x programmer but it may be a number of
  190. months before I get it finished due to work commitments.  I would
  191. also like to write a cross-assembler and simulator as well as a
  192. hundred other programs which I have ideas for.  Don't hold your
  193. breath for future releases but I will always be programming for the
  194. best computer ever.
  195.  
  196.  
  197. AUTHOR
  198. ------
  199.  
  200. If you want to contact the author of this program then please write
  201. to the following address:
  202.  
  203.         Stephen Marsden
  204.         9 Lumley Road
  205.         Redcar
  206.         Cleveland
  207.         TS10 2BD
  208.         ENGLAND
  209.